This invention relates to a computer system in which a plurality of servers and a plurality of PCI devices are coupled by PCI switches, and more particularly, to a control technology for a computer system including active servers and standby servers, in which, when an active server fails, a standby server is activated to take over PCI devices.
Recently, in order to simplify server management, blade servers in which a plurality of servers are mounted on one device have been employed as is described in U.S. Pat. No. 7,058,738. Moreover, a multi-core configuration in which a CPU includes a plurality of processing cores has increased processing capability of the CPU, and in order to efficiently use the CPU thus improved, a virtual server technology in which a plurality of virtual servers operate on one computer has been employed.
A computer uses, for network communication with other computers and coupling to storage devices, I/O devices such as a network interface card (NIC) and a fiber channel-host bus adapter (FC-HBA), and when a plurality of servers operate on one computer as described above, the number of I/O devices assigned to the computer becomes relatively insufficient. As a technology for overcoming this problem, there is known a multi-root PCI switch technology for enabling coupling between a plurality of computers and peripheral component interconnect (PCI) devices (or PCI express devices), which are a plurality of I/O devices. In the multi-root PCI switch technology, the number of PCI devices which can be coupled to one computer can be variable in a scalable manner as is described in U.S. Pat. No. 7,058,738, and US 2006/242353. In a multi-root I/O virtualization technology described in the latter, by sharing one PCI device, the number of PCI devices can virtually be increased. By using those technologies, it is possible to solve the problem of insufficient number of I/O devices when virtual servers are used.
Moreover, a cluster system in which a plurality of servers are operated while they are separated into active servers which are in operation and standby servers which are activated upon a failure of an active server is widely known.